
/*
* 作用域
* 作用域链
*
* 闭包（跨作用域访问变量）产生条件：
* 1. 函数嵌套
* 2. 内部函数使用外部函数的数据
*
* 缺点：内存泄露
*
* */

function fn() {
  let num = 0
  function bar() {
    num++
    return num
  }
  return bar
}
/*let baz = fn()
console.log(baz())
console.log(baz())
baz = null
baz = fn()
console.log(baz())
console.log(baz())
baz = null*/


// console.log(fn()()) // 上下文环境
// console.log(fn()())
// console.log(fn())
// console.log(fn())

(function () {
  for (var i = 0; i < 10; i++) {

  }
})()

console.log(i)









